iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
AI Engineering

AI Reliability Lab:30 天用 Python 把「AI 好像很準」變成可以量的工程指標系列 第 2

Day 2|同一題問 AI 五次,它真的會給我同一個答案嗎?

  • 分享至 

  • xImage
  •  

昨天我先做了一個很無聊、但我覺得必要的動作:先測「評測工具本身」。
今天才開始碰 AI 真正麻煩的地方。
一般程式如果輸入相同,通常希望輸出也相同。
但 LLM 不是這樣。
同一個 Prompt,我今天問一次、明天再問一次,甚至隔十秒重問,都可能得到不同措辭、不同理由,甚至不同結論。
這讓我開始想:

如果一個 AI 第一次答對、第二次答錯,我到底要把它算成會,還是不會?
這就是 Day 2 的問題:Consistency(穩定性)。
為什麼「答對一次」還不夠?
假設我做了一個客服 AI。
測試時問它:
「這個方案可以退款嗎?」
第一次說可以。
第二次說要看情況。
第三次說不行。
如果我只保留第一次結果,它看起來完全正常。
但真正的使用者不會只問「剛好那一次」。
所以 AI Engineering 裡,一個很重要的思維是:
不只測結果,也要測結果的分布。
今天我先不追求很高深的統計方法,而是做一個最小版本:把同一個 Prompt 在全新對話中重複五次,看看答案到底有多像。
今天的 Prompt
我刻意把輸出格式限制得比較緊:

請用三個條列回答以下問題,每個條列不超過 20 個中文字,不要加開場或結尾:

為什麼 AI 系統需要評測?

為了避免上一輪對話影響下一輪,我會使用五個全新的對話。
這一點很重要。
如果在同一個聊天室連續問五次,模型可能會看到前面的答案,這就不是我要測的「獨立重跑」。
我先定三個超簡單指標

  1. Unique Ratio
    五次回答中,有幾種不同版本。
    如果五次完全一樣:
1 / 5 = 20%

如果五次全部不同:

5 / 5 = 100%

在這個指標裡,越低代表字面上越穩。
2. Mode Agreement
看「最常出現的答案」占幾次。
例如五次裡有三次完全相同:

3 / 5 = 60%

越高表示模型越容易回到同一個答案。
3. Pairwise Jaccard
但 Exact Match 有一個很明顯的問題。
例如:
「避免改版造成退步」
和:
「避免更新造成退步」
其實意思非常接近,但字串比較會把它們算成不同。
所以我再加一個很粗略的 Jaccard Similarity,把回答切成字詞集合,計算任意兩次回答有多少重疊。
它還不夠聰明,但至少比「完全一樣才算一樣」多走一步。
Python 做了什麼?
今天的 consistency.py 會:
讀入五次輸出。
做基本文字正規化。
計算不同答案比例。
找最常見答案。
比較所有回答兩兩之間的 Jaccard 相似度。
執行:

python src/consistency.py data/manual_runs.csv

會得到類似:

AI Reliability Lab — Day 2
====================================
Runs:              5
Unique answers:    ...
Unique ratio:      ...
Mode agreement:    ...
Pairwise Jaccard:  ...

我今天特別沒有在文章裡先填「某模型實測是幾分」。
因為那個數字必須真的由五次獨立輸出產生。
Repo 裡另外放了一份 demo_runs.csv,只是讓程式可以立刻跑起來;它是示範資料,不會冒充真正模型結果。
這裡開始出現第一個評測陷阱
今天最大的收穫反而不是分數,而是我發現:
「一致」不一定等於「好」。
如果 AI 五次都很穩定地回答錯誤答案,它的 Consistency 可以非常高。
所以:

Consistency ≠ Accuracy

反過來也一樣。
五次都答對,但每次表達方式差很多,它可能 Accuracy 很高、Exact Consistency 很低。
這代表之後的 AI Reliability Report 不可能只放一個總分。
我要把不同維度分開量。
為什麼這條線值得繼續做?
我查了今年 AI Engineering 組的作品,現在已經有很多很強的 RAG、Agent、Infrastructure 和 AI System Design 題目。
甚至已經有人實作 LLM Judge 與 benchmark,拿來保護 AI Code Reviewer 的行為回歸。
這反而讓我的方向更清楚:
我不想跟大家比「誰做的 Agent 功能最多」。
我要往更底層的問題走:

這些 AI 系統的分數,到底可信到什麼程度?
後面除了測 Model,我還會開始測:
Prompt 改一點,結果會漂多少?
LLM Judge 自己穩不穩?
同一個 Judge 重判會不會翻案?
Golden Answer 如果錯了怎麼辦?
Benchmark 本身會不會騙人?
Day 2 結論
昨天我問的是:
「AI 到底多準?」
今天才發現,在問準不準之前還有另一題:
它每次是不是同一個它?
而且今天先記住一件事:
一致,不代表正確。
明天我會把 Accuracy 和 Consistency 放在一起。
看看一個 AI 到底會落在哪四種情況:
又準又穩
準但不穩
穩但不準
又不準又不穩
我覺得從這裡開始,才真的像在「量 AI」。


上一篇
Day 1|AI 很會回答,但「很會」到底是多少分?
下一篇
Day 3|又準又穩才算可靠?我把 AI 放進四象限
系列文
AI Reliability Lab:30 天用 Python 把「AI 好像很準」變成可以量的工程指標10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言